Soru & Cevap

Android view'ler üzerine tıklandığında effect nasıl verdirebilirim?

10.11.2013 - 04:11

Merhaba arkadaşlar, herhangi bir buton yada view'e tıklandığında effect verdirmek istyorum. Örnek bir butona tıklandığında tıklandığını kullanıcıya fark ettirmek için effect gibi birşeyler uygulamak istiyorum.

Bu konuda nasıl yapabileceğim ile ilgili fikri olan varsa bilgi verebilirse çok memnun olurum.

Teşekkür ederim.

14 Görüntülenme

3 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-472-1375079047.jpg
mehmet.altiparmak
11.11.2013 - 12:06

Merhaba İbrahim, 

Selector kullanarak yapabilirsin istediğini, aşağıdaki adreste örnek kod parçacıkları bulabilirsin. 

http://developer.android.com/guide/topics/resources/color-list-resource.html 

 

- res/color/button_text.xml isminde dosya yaratıp aşağıdaki xml parçasını ekliyorsun,

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:color="#ffff0000"/> <!-- pressed -->
    <item android:state_focused="true" android:color="#ff0000ff"/> <!-- focused -->
    <item android:color="#ff000000"/> <!-- default -->
</selector>

- Bu dosya içerisindeki state bilgilerine göre renk alan örnek bir buton tanımı da şu şekilde,

<Button
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/button_text"
    android:textColor="@color/button_text" />

picture-6537-1395347261.jpg
igunduz91
10.11.2013 - 05:30

Cevap için teşekkürler Fatih TÜRKER, bu kod parçasında sanırım butona yeni bir resim atamakta. Ben bunun yerine butona basıldığında butona renk olarak effect ekleyebilir miyim diye bakıyorum. :/

Şu tarz diyebilirim :

button.getBackground().setColorFilter(0xFF00FF00, PorterDuff.Mode.MULTIPLY);

or

button.getBackground().setColorFilter(new LightingColorFilter(0xFFFFFFFF, 0xFFAA0000));
 

setCOlorFilter içinde daha farklı kombinasyonları var mıdır diye sormak istedim :)

fikri olan?

picture-6935-1382197169.jpg
fatihturker35
10.11.2013 - 05:14

Merhabalar,

Aşağıdaki gibi her state için bir drawable oluşturarak, o stateleri butona ekleyebilirsiniz İbrahim Bey:

StateListDrawable states = new StateListDrawable();

states.addState(new int[] {android.R.attr.state_pressed},getResources().getDrawable(R.drawable.pressed)); states.addState(new int[] {android.R.attr.state_focused},getResources().getDrawable(R.drawable.focused)); states.addState(new int[] { },getResources().getDrawable(R.drawable.normal));

button.setBackgroundDrawable(states);//butona stateleri burada ekliyoruz